L1的稀疏性与L2
问题:我们知道在线性回归模型中,可以使用L1正则项产生稀疏模型。那么如果使用L2正则项,可不可以通过令系数较小的参数为零来获得稀疏性?
回答:特征都正交的情况下是可以的,否则一般情况下这么做可能会出问题。
原因
符号约定
先规定一下符号。假设目标变量\(t\)是由关于\(\mathbf{x}\) 的确定函数\(y(\mathbf{x},\mathbf{w})\)和高斯噪声组成
\[ \begin{align} y(\mathbf{x},\mathbf{w})=& \sum^{M-1}_{j=0}w_j\varphi_j(\mathbf{x}) \\ t = & y(\mathbf{x},\mathbf{w})+\epsilon, \end{align} \]
\(\mathbf{x}=(x_1,\ldots,x_D)\),\(\mathbf{w}=(w_0,\ldots,w_{M-1})\),\(\phi(\mathbf{x})=(\varphi_0(\mathbf{x}),\ldots,\varphi_{M-1}(\mathbf{x}))\),\(M\)是特征空间维数,\(\phi_0(\mathbf{x})=1\),\(\epsilon\)是正态噪声。
输入数据集\(\mathbf{X}=\{\mathbf{x_1},\ldots,\mathbf{x_N}\}\) ,目标集\(\mathbf{t}=({t_1,\ldots,t_N})\)。似然函数是 \[ p(\mathbf{t}|\mathbf{X},\mathbf{w},\beta)=\prod^N_{n=1}\mathcal{N}(t_n|\mathbf{w}^T\mathbf{\phi}(\mathbf{x}_n),\beta^{-1}) \]
我们要最大化似然函数,也就是最小化 \[ \sum_{n=1}^N(t_n-\mathbf{w}^T\phi(\mathbf{x}_n))^2 \] 这可以看成是\(N\)维空间中两个点\((t_1,\ldots,t_N)\)和\((\mathbf{w}^T\phi(\mathbf{x}_1),\ldots,\mathbf{w}^T\phi(\mathbf{x}_N))\)间的距离。后者可以看成是\(M\)个矢量\(\phi_i=(\phi_i(\mathbf{x}_1),\ldots,\phi_i(\mathbf{x}_N)),\ i=0,\ldots,M-1\)的线性组合。当且仅当此线性组合等于\((t_1,\ldots,t_N)\)在这\(M\)个矢量张成的超平面上的投影时,(4)式取到极小。
情况甲
设\(M=3\),\(\phi_1\)、\(\phi_2\)、\(\phi_3\)互相正交,且模相等(对各个特征做归一化的重要性!)并设为1,最优矢量记为\(\hat y=w_1\phi_1+w_2\phi_2+w_3\phi_3\),其维数等于\(N\)。这里显然,如果\(w_3\)系数较小,那么把它扔掉而引入的误差也小。
情况乙(更一般的情况)
设\(M=3\),\(\phi_1\)、\(\phi_2\)线性相关\(\phi_2=\phi_1+\epsilon'\),且都与\(\phi_3\)正交,仍假设它们模相等。最优矢量记为\(\hat y=w_1\phi_1+w_2\phi_2+w_3\phi_3\),其维数等于\(N\),模方为 \[ w_1^2+w_2^2+w_3^2+w_1w_2\cos\theta_{12}, \] 如果\(w_3\)系数较小,那么把它扔掉后\(\hat y\)的模方为 \[ w_1^2+w_2^2+w_1w_2\cos\theta_{12}. \] 如果\(\cos\theta_{12}<0\)且\(w_1\approx w_2\),那么(6)式的值接近0,与(5)式相比误差巨大。所以此时不能舍弃\(w_3\)。
情况丙(更更一般的情况)
一般情况下,\(\hat y\)的模方为\(\mathbf{w}\)的二次型 \(\mathbf{w}^T C \mathbf{w}\),其中\(C_{ij}=\phi_i\cdot \phi_j\)。然后对角化,把本征值从小到大排列,重新组合特征权重,在新的基下表示\(\hat y\)…
比如在情况乙中,设\(\cos\theta_{12}=-0.99\), \[ C = \begin{pmatrix} 1 & -0.99 & 0 \\ -0.99 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \] 本征值\(1.99,1,0.01\),对应的在重新组合后的基下的\(\hat y\)表示为 \[ \hat y=1.99*(w_2\phi_2-w_1\phi_1)+1*w_3\phi_3 +0.01*(w_2\phi_2+w_1\phi_1), \] 如果使用加L1正则项的模型来训练这个数据,并且设\(w_1=w_2=1\),\(w_3=0.05\),那么在合适的正则化强度下会得到\(\hat w_1 =\hat w_2=0\),而并不是\(\hat w_3=0\)。